The present invention relates to storage devices having a removable storage media.
In the data storage field, many different types of storage media exist. Storage devices are known which have removable storage media, like magnetic tapes, optical disks, removable magnetic disks, flexible disks, etc. Although these devices differ greatly in the way they store data, the units always have some form of electronic controller built in to control the operation of the data storage process. In modern designs, these built-in control units are very often designed around one or more microprocessors. A typical prior art system is shown in FIG. 1.
The main control unit 11 (very often designed around one or more microprocessors) controls the operation of the storage device generally shown at 10. To write data on the removable storage medium 9, the main control unit 11 receives commands from a host computer system 8 via input/output electronics 12, interprets those commands, and controls the flow of data from the host. It also controls the flow of data internally within the storage unit (from the input section electronics 12 through an internal data buffer 13 (if included) to a write electronics 14, and controls the physical writing of the data on the medium 9. In the write electronics section 14, the data to be recorded is modified in special ways (encoded) to fit requirements of the recording media.
When reading data from the media, the main control unit 11, after receiving a command to read data from the host, reads data from the storage medium 9 through a read electronics 15 and the internal data buffer 13 (if any), and from the buffer 13 out to the host. The read electronics 15 performs necessary decoding of the read data to make it suitable for the host.
The main control unit 11 also controls servo electronics 16 for drive of the medium 9, as is well known in the art.
The actual design will vary between different devices. A more detailed design example of a prior art data storage device 10 called a streaming tape drive which is representative for the general system or device 10 described in FIG. 1 can be found in the TDC3600 service manual from Tandberg Data, incorporated herein by reference.
Hereafter, reference will be made mainly to tape drives, although the invention is suitable for any type of data storage device having a removable medium.
The main control unit 11 typically contains a special control program stored in a memory which controls the execution of the whole storage device 10 or part of it. In general, this control program or programs controls the operation of one or more of the built-in (micro-) processors. These programs are often stored in ROM (Read Only Memory) or EPROM (Erasable ROM), although designs also exist where the control program is stored in some form of volatile memory like RAM (Random Access Memory) (Both DRAM (Dynamic RAM) and SRAM (Static RAM)) or non-volatile memory which can be electrically erased like EEPROM (Electrical Erasable ROM) or Flash Memory (which is also a special form of electrical erasable and programmable memory).
Generally, the control programs are stored in the storage device at the time of manufacturing. This can be done by programming, for example in an EPROM, and then mounting the EPROM in the control unit. It is also possible to design microprocessors with the control program or at least a part of it embedded into the processor itself.
FIG. 2 shows a typical prior art design main control unit 11 having a microprocessor 17 and a control program stored in an EPROM 18 or ROM in the control unit 11. The microprocessor 17 calls its control information from the EPROM 18, and executes the commands according to the stored program. For every address sent by the microprocessor to the EPROM, the EPROM returns "Data" which gives the microprocessor the necessary instructions about the next step it shall perform.
Of course, the main control program storage may not necessarily be considered to be part of what is hereinafter called the "main control unit" but could be considered separate therefrom In the past, some data terminals have been designed in such a way that their internal control program (or a part of it) could be transferred from the host to a terminal over the cable connecting the two units (downloadable code). In principle, the same method could be used for data storage units. The host could transfer the whole control program or a part of it on a cable connecting the two units. The program could then be stored in a RAM, EEPROM, or Flash Memory. This would make it possible to upgrade storage devices in the field. Up to now, such methods have not been used extensively for data storage devices. The main reason is that very often the control programs are very complex and large, and it is time consuming and sometimes difficult to transfer such programs by this method.
At the same time, storing the control programs once and for all in an EPROM or similar unit has drawbacks, since it is very expensive and sometimes difficult to upgrade the control program, especially when the storage unit is placed in a data system at a user site.